home *** CD-ROM | disk | FTP | other *** search
/ Scene 96 / Scene 96 International Edition (Zyklop Software) (Disc 2) (1997).iso / misc / coding / cp2dekit / samples / postproc.cpp < prev    next >
C/C++ Source or Header  |  1996-12-29  |  1KB  |  44 lines

  1. //***************************************************************************
  2. //
  3. // this file is (c) '94-'96 Niklas Beisert
  4. //
  5. // this file is part of the cubic player development kit.
  6. // you may only use/modify/spread this file under the terms stated
  7. // in the cubic player development kit accompanying documentation.
  8. //
  9. //***************************************************************************
  10.  
  11. //[devwMixQ]
  12. //  link=postproc
  13. //  postprocs=_postproctest
  14.  
  15. // devwmixq postprocessor example
  16.  
  17. #include "devwmixq.h"
  18.  
  19. int sinetab[]={0,12,24,36,45,53,59,63,64,63,59,53,45,36,24,12,0,-12,-24,-36,-45,-53,-59,-63,-64,-63,-59,-53,-45,-36,-24,-12};
  20. int pos=0;
  21.  
  22. void x(int,int) {}
  23. void y() {}
  24.  
  25. void process(long *buf, int len, int rate, int stereo)
  26. {
  27.   int i;
  28.   if (stereo)
  29.     for (i=0; i<len; i++)
  30.     {
  31.       buf[2*i]=(buf[2*i]*sinetab[pos&31])>>6;
  32.       buf[2*i+1]=(buf[2*i+1]*sinetab[pos&31])>>6;
  33.       pos++;
  34.     }
  35.   else
  36.     for (i=0; i<len; i++)
  37.       buf[i]=(buf[i]*sinetab[pos++&31])>>6;
  38. }
  39.  
  40. extern "C"
  41. {
  42.   mixqpostprocregstruct postproctest={process, x, y};
  43. }
  44.